#ifndef __OLED_H
#define __OLED_H

#include "i2c.h"

// OLED地址定义
#define OLED_ADDRESS         0x78    // 常见的OLED I2C地址
#define OLED_CMD             0x00    // 命令模式
#define OLED_DATA            0x40    // 数据模式

// OLED屏幕参数
#define OLED_WIDTH           128
#define OLED_HEIGHT          64
#define OLED_PAGES           8  // 8行每页

// OLED初始化
void OLED_Init(void);
// 命令模式
void OLED_WriteCmd(uint8_t cmd);
// 数据模式
void OLED_WriteData(uint8_t data);
// 清屏
void OLED_Clear(void);

/**
 * @brief
    设置光标位置
 * @param
    page：页地址
    col：列地址
*/ 
void OLED_SetCursor(uint8_t page, uint8_t col);

/**
 * @brief
    定位到某个像素点
 * @param
    x：横坐标
    y：纵坐标
 */
void OLED_SetCursorXY(uint8_t x, uint8_t y);

/**
 * @brief 
    点亮指定坐标的像素点
   @param 
    x 横坐标 (0-127)
    y 纵坐标 (0-63)
 */
void OLED_SetPixel(uint8_t x, uint8_t y);

void OLED_DrawLogo(void);

#endif
